home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1995 August: Tool Chest / Dev.CD Aug 95 TC / Dev.CD Aug 95 TC.toast / Tool Chest / Interfaces / UniversalInterfaces 2.0 / PInterfaces / AppleGuide.p < prev    next >
Encoding:
Text File  |  1995-04-18  |  9.3 KB  |  344 lines  |  [TEXT/MPS ]

  1. {
  2.      File:        AppleGuide.p
  3.  
  4.      Contains:    Apple Guide Interfaces.
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Package:    Universal Interfaces 2.0 in “MPW Latest” on ETO #17
  8.  
  9.      Copyright:    © 1984-1995 by Apple Computer, Inc.
  10.                  All rights reserved.
  11.  
  12.      Bugs?:        If you find a problem with this file, use the Apple Bug Reporter
  13.                  stack.  Include the file and version information (from above)
  14.                  in the problem description and send to:
  15.                      Internet:    apple.bugs@applelink.apple.com
  16.                      AppleLink:    APPLE.BUGS
  17.  
  18. }
  19.  
  20. {$IFC UNDEFINED UsingIncludes}
  21. {$SETC UsingIncludes := 0}
  22. {$ENDC}
  23.  
  24. {$IFC NOT UsingIncludes}
  25.  UNIT AppleGuide;
  26.  INTERFACE
  27. {$ENDC}
  28.  
  29. {$IFC UNDEFINED __APPLEGUIDE__}
  30. {$SETC __APPLEGUIDE__ := 1}
  31.  
  32. {$I+}
  33. {$SETC AppleGuideIncludes := UsingIncludes}
  34. {$SETC UsingIncludes := 1}
  35.  
  36.  
  37. {$IFC UNDEFINED __APPLEEVENTS__}
  38. {$I AppleEvents.p}
  39. {$ENDC}
  40. {    Errors.p                                                    }
  41. {        ConditionalMacros.p                                        }
  42. {    Types.p                                                        }
  43. {    Memory.p                                                    }
  44. {        MixedMode.p                                                }
  45. {    OSUtils.p                                                    }
  46. {    Events.p                                                    }
  47. {        Quickdraw.p                                                }
  48. {            QuickdrawText.p                                        }
  49. {    EPPC.p                                                        }
  50. {        AppleTalk.p                                                }
  51. {        Files.p                                                    }
  52. {        PPCToolbox.p                                            }
  53. {        Processes.p                                                }
  54. {    Notification.p                                                }
  55.  
  56. {$IFC UNDEFINED __FILES__}
  57. {$I Files.p}
  58. {$ENDC}
  59.  
  60. {$IFC UNDEFINED __TYPES__}
  61. {$I Types.p}
  62. {$ENDC}
  63.  
  64. {$PUSH}
  65. {$ALIGN MAC68K}
  66. {$LibExport+}
  67.     
  68. TYPE
  69.     AGRefNum = UInt32;
  70.  
  71.     AGCoachRefNum = UInt32;
  72.  
  73.     AGContextRefNum = UInt32;
  74.  
  75.     AGAppInfo = RECORD
  76.         eventId:                AEEventID;
  77.         refCon:                    LONGINT;
  78.         contextObj:                Ptr;                                    { private system field}
  79.     END;
  80.  
  81.     AGAppInfoPtr = ^AGAppInfo;
  82.     AGAppInfoHdl = ^AGAppInfoPtr;
  83.  
  84.     CoachReplyProcPtr = ProcPtr;  { FUNCTION CoachReply(VAR pRect: Rect; name: Ptr; refCon: LONGINT): OSErr; }
  85.     ContextReplyProcPtr = ProcPtr;  { FUNCTION ContextReply(pInputData: Ptr; inputDataSize: Size; VAR ppOutputData: Ptr; VAR pOutputDataSize: Size; hAppInfo: AGAppInfoHdl): OSErr; }
  86.     CoachReplyUPP = UniversalProcPtr;
  87.     ContextReplyUPP = UniversalProcPtr;
  88.  
  89. CONST
  90.     uppCoachReplyProcInfo = $00000FE0; { FUNCTION (4 byte param, 4 byte param, 4 byte param): 2 byte result; }
  91.     uppContextReplyProcInfo = $0000FFE0; { FUNCTION (4 byte param, 4 byte param, 4 byte param, 4 byte param, 4 byte param): 2 byte result; }
  92.  
  93. FUNCTION NewCoachReplyProc(userRoutine: CoachReplyProcPtr): CoachReplyUPP;
  94.     {$IFC NOT GENERATINGCFM }
  95.     INLINE $2E9F;
  96.     {$ENDC}
  97.  
  98. FUNCTION NewContextReplyProc(userRoutine: ContextReplyProcPtr): ContextReplyUPP;
  99.     {$IFC NOT GENERATINGCFM }
  100.     INLINE $2E9F;
  101.     {$ENDC}
  102.  
  103. FUNCTION CallCoachReplyProc(VAR pRect: Rect; name: Ptr; refCon: LONGINT; userRoutine: CoachReplyUPP): OSErr;
  104.     {$IFC NOT GENERATINGCFM}
  105.     INLINE $205F, $4E90;
  106.     {$ENDC}
  107.  
  108. FUNCTION CallContextReplyProc(pInputData: Ptr; inputDataSize: Size; VAR ppOutputData: Ptr; VAR pOutputDataSize: Size; hAppInfo: AGAppInfoHdl; userRoutine: ContextReplyUPP): OSErr;
  109.     {$IFC NOT GENERATINGCFM}
  110.     INLINE $205F, $4E90;
  111.     {$ENDC}
  112.  
  113. CONST
  114.     gestaltAppleGuidePresent    = 31;
  115.     gestaltAppleGuideIsDebug    = 30;
  116.     kAGDefault                    = 0;
  117.     kAGFrontDatabase            = 1;
  118.     kAGNoMixin                    = 0+(-1);
  119.  
  120.     kAGViewFullHowdy            = 1;                            { Full-size Howdy}
  121.     kAGViewTopicAreas            = 2;                            { Full-size Topic Areas}
  122.     kAGViewIndex                = 3;                            { Full-size Index Terms}
  123.     kAGViewLookFor                = 4;                            { Full-size Look-For (Search)}
  124.     kAGViewSingleHowdy            = 5;                            { Single-list-size Howdy}
  125.     kAGViewSingleTopics            = 6;                            { Single-list-size Topics}
  126.  
  127.     kAGFileMain                    = 'poco';
  128.     kAGFileMixin                = 'mixn';
  129.  
  130. { To test against AGGetAvailableDBTypes}
  131.     kAGDBTypeBitAny                = $00000001;
  132.     kAGDBTypeBitHelp            = $00000002;
  133.     kAGDBTypeBitTutorial        = $00000004;
  134.     kAGDBTypeBitShortcuts        = $00000008;
  135.     kAGDBTypeBitAbout            = $00000010;
  136.     kAGDBTypeBitOther            = $00000080;
  137.  
  138.     
  139. TYPE
  140.     AGStatus = UInt16;
  141.  
  142. { Returned by AGGetStatus}
  143.  
  144. CONST
  145.     kAGIsNotRunning                = 0;
  146.     kAGIsSleeping                = 1;
  147.     kAGIsActive                    = 2;
  148.  
  149.     
  150. TYPE
  151.     AGWindowKind = UInt16;
  152.  
  153. { Returned by AGGetFrontWindowKind}
  154.  
  155. CONST
  156.     kAGNoWindow                    = 0;
  157.     kAGAccessWindow                = 1;
  158.     kAGPresentationWindow        = 2;
  159.  
  160. { Error Codes}
  161. { Not an enum, because other OSErrs are valid.}
  162.     
  163. TYPE
  164.     AGErr = SInt16;
  165.  
  166. { Apple Guide error codes}
  167.  
  168. CONST
  169. { -------------------- Apple event reply codes}
  170.     kAGErrUnknownEvent            = -2900;
  171.     kAGErrCantStartup            = -2901;
  172.     kAGErrNoAccWin                = -2902;
  173.     kAGErrNoPreWin                = -2903;
  174.     kAGErrNoSequence            = -2904;
  175.     kAGErrNotOopsSequence        = -2905;
  176.     kAGErrReserved06            = -2906;
  177.     kAGErrNoPanel                = -2907;
  178.     kAGErrContentNotFound        = -2908;
  179.     kAGErrMissingString            = -2909;
  180.     kAGErrInfoNotAvail            = -2910;
  181.     kAGErrEventNotAvailable        = -2911;
  182.     kAGErrCannotMakeCoach        = -2912;
  183.     kAGErrSessionIDsNotMatch    = -2913;
  184.     kAGErrMissingDatabaseSpec    = -2914;
  185. { -------------------- Coach's Chalkboard reply codes}
  186.     kAGErrItemNotFound            = -2925;
  187.     kAGErrBalloonResourceNotFound = -2926;
  188.     kAGErrChalkResourceNotFound    = -2927;
  189.     kAGErrChdvResourceNotFound    = -2928;
  190.     kAGErrAlreadyShowing        = -2929;
  191.     kAGErrBalloonResourceSkip    = -2930;
  192.     kAGErrItemNotVisible        = -2931;
  193.     kAGErrReserved32            = -2932;
  194.     kAGErrNotFrontProcess        = -2933;
  195.     kAGErrMacroResourceNotFound    = -2934;
  196. { -------------------- API reply codes}
  197.     kAGErrAppleGuideNotAvailable = -2951;
  198.     kAGErrCannotInitCoach        = -2952;
  199.     kAGErrCannotInitContext        = -2953;
  200.     kAGErrCannotOpenAliasFile    = -2954;
  201.     kAGErrNoAliasResource        = -2955;
  202.     kAGErrDatabaseNotAvailable    = -2956;
  203.     kAGErrDatabaseNotOpen        = -2957;
  204.     kAGErrMissingAppInfoHdl        = -2958;
  205.     kAGErrMissingContextObject    = -2959;
  206.     kAGErrInvalidRefNum            = -2960;
  207.     kAGErrDatabaseOpen            = -2961;
  208.     kAGErrInsufficientMemory    = -2962;
  209.  
  210. { Events}
  211. { Not an enum because we want to make assignments.}
  212.     
  213. TYPE
  214.     AGEvent = UInt32;
  215.  
  216. { Handy events for AGGeneral.}
  217.  
  218. CONST
  219. { Panel actions (Require a presentation window).}
  220.     kAGEventDoCoach                = 'doco';
  221.     kAGEventDoHuh                = 'dhuh';
  222.     kAGEventGoNext                = 'gonp';
  223.     kAGEventGoPrev                = 'gopp';
  224.     kAGEventHidePanel            = 'pahi';
  225.     kAGEventReturnBack            = 'gobk';
  226.     kAGEventShowPanel            = 'pash';
  227.     kAGEventTogglePanel            = 'patg';
  228.  
  229. { Functions}
  230. { AGClose}
  231. { Close the database associated with the AGRefNum.}
  232.  
  233. FUNCTION AGClose(VAR refNum: AGRefNum): AGErr;
  234.     {$IFC NOT GENERATINGCFM}
  235.     INLINE $7011, $AA6E;
  236.     {$ENDC}
  237. { AGGeneral}
  238. { Cause various events to happen.}
  239. FUNCTION AGGeneral(refNum: AGRefNum; theEvent: AGEvent): AGErr;
  240.     {$IFC NOT GENERATINGCFM}
  241.     INLINE $700D, $AA6E;
  242.     {$ENDC}
  243. { AGGetAvailableDBTypes}
  244. { Return the database types available for this application.}
  245. FUNCTION AGGetAvailableDBTypes: UInt32;
  246.     {$IFC NOT GENERATINGCFM}
  247.     INLINE $7008, $AA6E;
  248.     {$ENDC}
  249. { AGGetFrontWindowKind}
  250. { Return the kind of the front window.}
  251. FUNCTION AGGetFrontWindowKind(refNum: AGRefNum): AGWindowKind;
  252.     {$IFC NOT GENERATINGCFM}
  253.     INLINE $700C, $AA6E;
  254.     {$ENDC}
  255. { AGGetFSSpec}
  256. { Return the FSSpec for the AGRefNum.}
  257. FUNCTION AGGetFSSpec(refNum: AGRefNum; VAR fileSpec: FSSpec): AGErr;
  258.     {$IFC NOT GENERATINGCFM}
  259.     INLINE $700F, $AA6E;
  260.     {$ENDC}
  261. { AGGetStatus}
  262. { Return the status of Apple Guide.}
  263. FUNCTION AGGetStatus: AGStatus;
  264.     {$IFC NOT GENERATINGCFM}
  265.     INLINE $7009, $AA6E;
  266.     {$ENDC}
  267. { AGInstallCoachHandler}
  268. { Install a Coach object location query handler.}
  269. FUNCTION AGInstallCoachHandler(coachReplyProc: CoachReplyUPP; refCon: LONGINT; VAR resultRefNum: AGCoachRefNum): AGErr;
  270.     {$IFC NOT GENERATINGCFM}
  271.     INLINE $7012, $AA6E;
  272.     {$ENDC}
  273. { AGInstallContextHandler}
  274. { Install a context check query handler.}
  275. FUNCTION AGInstallContextHandler(contextReplyProc: ContextReplyUPP; eventID: AEEventID; refCon: LONGINT; VAR resultRefNum: AGContextRefNum): AGErr;
  276.     {$IFC NOT GENERATINGCFM}
  277.     INLINE $7013, $AA6E;
  278.     {$ENDC}
  279. { AGIsDatabaseOpen}
  280. { Return true if the database associated with the AGRefNum is open.}
  281. FUNCTION AGIsDatabaseOpen(refNum: AGRefNum): BOOLEAN;
  282.     {$IFC NOT GENERATINGCFM}
  283.     INLINE $7006, $AA6E;
  284.     {$ENDC}
  285. { AGOpen}
  286. { Open a guide database.}
  287. FUNCTION AGOpen(VAR fileSpec: FSSpec; flags: UInt32; mixinControl: Handle; VAR resultRefNum: AGRefNum): AGErr;
  288.     {$IFC NOT GENERATINGCFM}
  289.     INLINE $7001, $AA6E;
  290.     {$ENDC}
  291. { AGOpenWithSearch}
  292. { Open a guide database and preset a search string.}
  293. FUNCTION AGOpenWithSearch(VAR fileSpec: FSSpec; flags: UInt32; mixinControl: Handle; searchString: ConstStr255Param; VAR resultRefNum: AGRefNum): AGErr;
  294.     {$IFC NOT GENERATINGCFM}
  295.     INLINE $7002, $AA6E;
  296.     {$ENDC}
  297. { AGOpenWithSequence}
  298. { Open a guide database and display a presentation window sequence.}
  299. FUNCTION AGOpenWithSequence(VAR fileSpec: FSSpec; flags: UInt32; mixinControl: Handle; sequenceID: INTEGER; VAR resultRefNum: AGRefNum): AGErr;
  300.     {$IFC NOT GENERATINGCFM}
  301.     INLINE $7004, $AA6E;
  302.     {$ENDC}
  303. { AGOpenWithView}
  304. { Open a guide database and override the default view.}
  305. FUNCTION AGOpenWithView(VAR fileSpec: FSSpec; flags: UInt32; mixinControl: Handle; viewNum: INTEGER; VAR resultRefNum: AGRefNum): AGErr;
  306.     {$IFC NOT GENERATINGCFM}
  307.     INLINE $7005, $AA6E;
  308.     {$ENDC}
  309. { AGQuit}
  310. { Make Apple Guide quit.}
  311. FUNCTION AGQuit: AGErr;
  312.     {$IFC NOT GENERATINGCFM}
  313.     INLINE $7010, $AA6E;
  314.     {$ENDC}
  315. { AGRemoveCoachHandler}
  316. { Remove the Coach object location query handler.}
  317. FUNCTION AGRemoveCoachHandler(VAR resultRefNum: AGCoachRefNum): AGErr;
  318.     {$IFC NOT GENERATINGCFM}
  319.     INLINE $7014, $AA6E;
  320.     {$ENDC}
  321. { AGRemoveContextHandler}
  322. { Remove the context check query handler.}
  323. FUNCTION AGRemoveContextHandler(VAR resultRefNum: AGContextRefNum): AGErr;
  324.     {$IFC NOT GENERATINGCFM}
  325.     INLINE $7015, $AA6E;
  326.     {$ENDC}
  327. { AGStart}
  328. { Start up Apple Guide in the background.}
  329. FUNCTION AGStart: AGErr;
  330.     {$IFC NOT GENERATINGCFM}
  331.     INLINE $700A, $AA6E;
  332.     {$ENDC}
  333.  
  334. {$ALIGN RESET}
  335. {$POP}
  336.  
  337. {$SETC UsingIncludes := AppleGuideIncludes}
  338.  
  339. {$ENDC} {__APPLEGUIDE__}
  340.  
  341. {$IFC NOT UsingIncludes}
  342.  END.
  343. {$ENDC}
  344.